package com.xqboss.apps.domain.user;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.xqboss.apps.domain.BaseTable;
import com.xqboss.apps.enums.user.WalletChangeDirectionEnum;
import com.xqboss.apps.enums.user.WalletChangeTypeEnum;
import com.xqboss.apps.enums.user.WalletLidouChangeTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 用户资产-力豆流水记录
 * </p>
 *
 * @author admin
 * @since 2024-02-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="UserAssetLidouRecord对象", description="用户资产-力豆流水记录")
public class UserAssetLidouRecord extends BaseTable implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "钱包id")
    private Long walletId;

    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "出入方向")
    private WalletChangeDirectionEnum direction;

    @ApiModelProperty(value = "变动前金额")
    private BigDecimal amountBefore;

    @ApiModelProperty(value = "变动后金额")
    private BigDecimal amountAfter;

    @ApiModelProperty(value = "变动类型")
    private WalletLidouChangeTypeEnum changeType;

    @ApiModelProperty(value = "源id")
    private Long sourceId;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "操作用户id")
    private Long operateUserId;
}
